home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / program / vimvcl30.zip / DEMO1S.PAS < prev    next >
Pascal/Delphi Source File  |  1996-09-20  |  3KB  |  113 lines

  1. unit Demo1s;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, ExtCtrls, V32send, V32Sess,
  8.   vim32,demo1s1;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     eMessage: TMemo;
  13.     eSubject: TEdit;
  14.     Memo2: TMemo;
  15.     Label1: TLabel;
  16.     Button1: TButton;
  17.     Label2: TLabel;
  18.     gPriority: TRadioGroup;
  19.     eTO: TEdit;
  20.     lTO: TListBox;
  21.     eCC: TEdit;
  22.     lCC: TListBox;
  23.     Button2: TButton;
  24.     VimSession1: TVimSession;
  25.     VimSendMessage1: TVimSendMessage;
  26.     procedure FormActivate(Sender: TObject);
  27.     procedure Button1Click(Sender: TObject);
  28.     procedure eTOExit(Sender: TObject);
  29.     procedure eCCExit(Sender: TObject);
  30.     procedure FormCreate(Sender: TObject);
  31.     procedure Button2Click(Sender: TObject);
  32.   private
  33.     { Private declarations }
  34.     procedure errShow;
  35.   public
  36.  
  37.     { Public declarations }
  38.   end;
  39.  
  40. var
  41.   Form1: TForm1;
  42.  
  43. implementation
  44.  
  45. {$R *.DFM}
  46.  
  47. procedure TForm1.FormActivate(Sender: TObject);
  48. begin
  49.   gPriority.itemindex :=1;
  50. end;
  51.  
  52. procedure TForm1.Button1Click(Sender: TObject);
  53. begin
  54.   { be lazy and force the login dialog box to pop up }
  55.     vimsession1.active := true;
  56.     if not vimsession1.active then
  57.       errshow;
  58.     if vimsession1.vimerror <> 0 then
  59.       errShow
  60.     else with vimSendMessage1 do begin
  61.       subject := eSubject.text;
  62.       messageLines := eMessage.lines;
  63.       recipients := lTO.items;
  64.       cc := lCC.items;
  65.       case gPriority.itemIndex of
  66.         0 : priority := low;
  67.         1 : priority := normal;
  68.         2 : priority := urgent;
  69.       end;
  70.       send;
  71.       if vimsession1.vimError <> 0 then
  72.         errShow;
  73.     end;
  74.   {end;}
  75.  
  76. end;
  77.  
  78. procedure TForm1.errShow;
  79. begin
  80.   with Vimsession1 do begin
  81.     errorDlg.errorMessage.text := errorMessage;
  82.     errorDlg.extendedError.text := extendedError;
  83.     errorDlg.applicationError.text := applicationError;
  84.     errorDlg.showModal;
  85.   end;
  86. end;
  87.  
  88. procedure TForm1.eTOExit(Sender: TObject);
  89. begin
  90.   if lTO.items.indexof(eTO.text) = -1 then
  91.     lTO.items.add(eTO.text);
  92. end;
  93.  
  94. procedure TForm1.eCCExit(Sender: TObject);
  95. begin
  96.   if lCC.items.indexof(eCC.text) = -1 then
  97.     lCC.items.add(eCC.text);
  98. end;
  99.  
  100. procedure TForm1.FormCreate(Sender: TObject);
  101. begin
  102.    VimSession1 := TVimSession.create(self);
  103.    VimSendMessage1 := TVimSendMessage.create(self);
  104.    Vimsendmessage1.session := vimsession1;
  105. end;
  106.  
  107. procedure TForm1.Button2Click(Sender: TObject);
  108. begin
  109.   vimsession1.active := false;
  110. end;
  111.  
  112. end.
  113.